﻿// 3993. 石子游戏.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/3996/

有 n
 堆石子，石子数量分别为 a1,a2,…,an
。

现在，需要你通过取石子操作，使得所有堆石子的数量都相同。

一轮取石子操作的具体流程为：

设定一个石子数量上限 h
。
检查每堆石子，对于石子数量大于 h
 的石子堆，取出多余石子，使其石子数量等于 h
。
要求，在一轮取石子操作中取走的石子数量不得超过 k
。

请计算并输出为了使得所有堆石子的数量都相同，最少需要进行多少轮取石子操作。

输入格式
第一行包含两个整数 n,k
。

第二行包含 n
 个整数 a1,a2,…,an
。

输出格式
一个整数，表示所需的最少取石子操作轮次。

数据范围
前六个测试点满足， 1≤n≤k≤10
。
所有测试点满足，1≤n≤2×105
，n≤k≤109
，1≤ai≤2×105
。

输入样例1：
5 5
3 1 2 2 4
输出样例1：
2
输入样例2：
4 5
2 3 4 5
输出样例2：
2
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 